package exempleRMI;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Server extends UnicastRemoteObject implements I_server{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
        
        protected Server() throws RemoteException {
		super();
	}

	@Override
	public String addition(int a, int b) throws RemoteException {
		return String.valueOf(a + b);
	}
        
        @Override
	public String AffichageChaine(String s) throws RemoteException {
            return s + " Poulet";
	}
        
        @Override
	public void StockageChaine(String nomFic, String s) throws RemoteException {
            //String adressedufichier = System.getProperty("user.dir") + "/"+ nomFic;
            String adressedufichier = "/home/c/cailleol/workspace/" + nomFic;
            try
	    {
                FileWriter fw = null;
            try {
                fw = new FileWriter(adressedufichier, false);
            } catch (IOException ex) {
                Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
            }
		BufferedWriter output = new BufferedWriter(fw);
                output.write(s);
		output.close();
		System.out.println("Fichier créé.");
	    }
	    catch(IOException ioe){
	    System.out.print("Erreur : ");
            ioe.printStackTrace();
	    }
        }
        
        @Override
	public void envoiFichier(String nomFichier, byte[] fichier) throws RemoteException {
            try {
                    String adressedufichier = "/home/c/cailleol/workspace/" + nomFichier;
		    java.io.FileWriter f = new java.io.FileWriter(adressedufichier);
		    for (int i = 0; i < fichier.length; i++) {
   			    f.write((int)fichier[i]);
	    	}	 
			f.close();
		}
		catch(IOException e){
			System.out.println(e + "Erreur lors de la lecture du fichier.");
		}
 
	}
        
        
}
